﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Epsilon.Expr
{
    public class BinOpExpr : Expression
    {
        public Expression Left { get; private set; }
        public Expression Right { get; private set; }
        public BinOp Op { get; private set; }

        public BinOpExpr(Expression l, Expression r, BinOp op, int i, int c)
            : base(i, c)
        {
            Left = l;
            Right = r;
            Op = op;
        }
    }

    public enum BinOp
    {
        Equals,
        NotEquals,
        LessThan,
        LessThanOrEqual,
        GreaterThan,
        GreaterThanOrEqual,
        Plus,
        Minus,
        Mult,
        BOR, 
        BXOR,
        BAND,
        BSL,
        BSR,
        AND,
        OR,
        XOR
    }
}
